package com.ebupt.migu.music.pubBroadcast.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.AddActIntoRedisPo;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.BroadcastActivityInfoVo;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.BroadcastBannerInfoVo;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.BroadcastCustomerFileVo;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.BroadcastCustomerInputVo;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.BroadcastCustomerTagVo;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.BroadcastPlaylistInfoVo;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.BroadcastRadioInfoVo;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.PolicyInfoBo;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.PolicyListBo;
import com.ebupt.migu.music.pubBroadcast.entity.policyList.PolicyListPo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface PolicyListMapper {

    //策略列表
    IPage<PolicyListPo> policyList(Page<PolicyListPo> page, @Param("param1") PolicyListBo policyListBo);

    //公播平台活动详情
    BroadcastActivityInfoVo broadcastActivityInfo(PolicyInfoBo policyInfoBo);

    //公播平台文件导入客群
    BroadcastCustomerFileVo broadcastCustomerFile(PolicyInfoBo policyInfoBo);

    //公播平台手工录入客群
    List<BroadcastCustomerInputVo> broadcastCustomerInput(PolicyInfoBo policyInfoBo);

    //banner
    BroadcastBannerInfoVo broadcastBannerInfo(PolicyInfoBo policyInfoBo);

    //音乐馆-歌单广场
    BroadcastPlaylistInfoVo broadcastPlaylistInfo(PolicyInfoBo policyInfoBo);

    //语音播报-语音广场
    BroadcastRadioInfoVo broadcastRadioInfo(PolicyInfoBo policyInfoBo);

    //修改公播平台活动状态
    void updatePause(@Param("activityId") String activityId,@Param("pause") String pause,
                     @Param("modifyTime") Date modifyTime);

    //获取公播平台要插入redis的数据
    AddActIntoRedisPo addActIntoRedis(String  activityId);

    //公播平台标签客群
    List<BroadcastCustomerTagVo> broadcastCustomerTag(String activityId);

}
